The present invention relates to signal transmissions. More specifically, the present invention relates to communicating signals in a source synchronous environment.
As operating speeds of processors and computer systems increase, communication between components, such as memories and I/O devices, must increase to reduce or eliminate bottleneck problems. One solution to this communications problem is to provide a source-synchronous environment in which components of a system operate. In a source-synchronous environment, strobe signals are sent between components along with data signals. The strobe signals are used to communicate timing information. Instead of having one or more components operate on a common clock signal, data may be communicated at a speed not set by a clock signal. The strobe signal sent with the data may be used, for example, to start an internal clock signal, for latching of the data, or other timing purposes.
Source synchronous communication eliminates many problems of traditional, common clocked, data transfers, such as flight time delays, clock skew, etc. to increase data transfer rates over traditional data transfer schemes. However, single-strobe source-synchronous data transfers are susceptible to noise. For example, switching of data bits may generate timing glitches that cause functional problems in the system because the glitches may be considered valid data. Glitches become more of a problem as operating frequencies increase.
Alternatively, differential-strobe source-synchronous data transfers may be used to communicate data. By using differential amplifiers with a high common mode rejection ratio (CMRR), common mode noise problems may be reduced or eliminated. Differential-strobe source-synchronous data transfers, however, are susceptible to glitches when both strobe signals are in the same logic state, such as during transfer of bus control between bus agents on an externally terminated bus. This is the result of differential amplifiers being sensitive to noise during a time when both strobe signals are driven high, such as when one bus agent relinquishes the bus and a different bus agent acquires the bus.
Therefore, what is needed is glitch protection for differential strobe signals in a source synchronous environment.
A method and apparatus for providing glitch protection for differential strobe signals in a source-synchronous environment is described. A pair of strobe signals are received and glitch protection is provided by latching the strobe signals for a first predetermined period of time in response to strobe transitions. When both strobe signals are in equivalent logic states, a latching signal is generated to latch the strobe signals. In one embodiment, the latching signal is generated a second predetermined period of time after the strobe signals are in equivalent logic states. In one embodiment, the first predetermined period of time is greater than the second predetermined period of time.